package Util;
use strict;
use warnings;
use utf8;

require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(ts ats html fts sec2str check_login_valid);

sub ts {
	return sprintf "%02d:%02d:%02d",(localtime($_[0] || time()))[2,1,0];
}
sub fts {
	my @t = localtime($_[0] || time());
	return sprintf "%02d/%02d/%04d %02d:%02d:%02d",$t[3],$t[4]+1,$t[5]+1900,$t[2],$t[1],$t[0];
}
sub ats {
	return time();
}
sub sec2str {
	my $s = $_[0] % 60;
	my $m = int($_[0] / 60);
	my $h = int($m / 60);
	$m = $m % 60;
	return sprintf("%d:%02d:%02d",$h,$m,$s);
}
sub html{
	my($msg) = @_;
	if(length($msg) > 1024){
		$msg = substr($msg,0,1024);
	}
	$msg =~ s/(\S{80})/$1 /g;
	$msg =~ s/\s+/ /g;
	$msg =~ s/&/&amp;/g;
	$msg =~ s/>/&gt;/g;
	$msg =~ s/</&lt;/g;
	return $msg;
}
sub check_login_valid {
	my ($login) = @_;
	unless($login){
		return "пустой логин";
	}
	unless($login =~ /^[ \wа-яА-Я]{3,15}$/){
		return "плохие символы в логине или неподходящая длинна $login";
	}
	unless($login =~ /^[\wа-яА-Я]/){
		return "в начале только буква";
	}
	if($login =~ /\s{2,}/){
		return "много пробелов";
	}
	if($login =~ /\s$/){
		return "пробел в конце нельзя";
	}
	if($login =~ /(.)\1\1/){
		return "много одинаковых букв подряд";
	}
	unless($login =~ /^[ а-яА-Я0-9]+$/ or $login =~ /^[ a-zA-Z0-9]+$/){
		return "только один алфавит можно в логине";
	}
	return 0;
}


1;
